#ifndef DIET_INSTANCE_H
#define DIET_INSTANCE_H

/*	CLASS:		ATSP Instance
	AUTHOR:		Marcelo Y. B. Hossomi

	Instance for the asymetric travelling salesman problem.
*/

#include "Instance.h"

class ATSPInstance: public Instance {
protected:

	int		C;
	int	*distance;

public:

	ATSPInstance();
	virtual ~ATSPInstance();

	// Load an instance.
	bool load( const char *name, Problem *problem ) throw (NotFound);

	// Get solution size.
	int getSolSize() throw (NotReady);

	// Get solution column count.
	int getSolCols() throw (NotReady);

	// Get solution row count.
	int getSolRows() throw (NotReady);

	// ATSP specific data methods.

	// Get distance from city 'i' to city 'j'.
	int getDistance( int i, int j ) throw (NotReady);

	// Print instance data.
	void print() throw (NotReady);

	// Write instance data to a file.
	void write( const char *file ) throw (NotReady);

};

#endif